|
|
Intel Performance Library Suite
The column at the left has information to answer your questions. Select an information
category and you'll see indexes of what is available.
|
|
|
|
What are the latest updates to the Performance Libraries?
The Intel Image Processing Library went through three beta releases previous to the current final
release of version 1.0. Find out what's new in this latest version
of the Intel Image Processing Library, version 1.0. |
|
|
Can the Intel Signal Processing Library be used in a multithreaded application?
Yes, you should not have problems using the library in this mode and TLS
(Thread Local Storage) memory is allocated for all global variables. |
|
|
Can I call a Signal Processing library function from Visual Basic 4.0 (16-bit version)?
The SPL only supports 32 bits application. You will not be able to call SPLib functions, or link with the SPLib import library (nsp.lib) in 16 bits VB environment. |
|
|
Is there support for Delphi* or FORTRAN?
No. Your input will be considered for possible future enhancements. |
|
|
Is the Image Processing Library thread-safe?
In Image Processing Library release 1.0, there are places in which we suspect the library might not be thread-safe; note also that it is not extensively tested on
multiprocessor systems. This may be addressed in the next version. |
|
|
Rotate does not seem to operate as documented, particularly with ROI. What is wrong?
There is a bug in rotate. The ROI doesn't rotate with the image, so it acts just as an ROI in the destination. Unfortunately, this results in lost
information. For example, rotating a 100x50 image with no ROI 90 degrees should fill a 50x100 image completely. As implemented, the function fills only 50x50
of the destination image. The workaround is to specify a source ROI that's larger than the source image, (in this case) a source ROI of 50x100.
The next version should have a different specification for rotate, as well as many more other geometric operations. |
|
|
The _iplmake.bat is missing from files I downloaded from your web site and I am having a hard time figuring out how to build userdll.c. Can you help?
There were a few mistakes in the beta userdll documentation and batch files. All but one, an extra NULL argument
to iplCreateImageHeader in test.c, have been corrected in the release version. |
|
|
Can I use the Intel Math Kernel Library (MKL) with C/C++ programs?
We do not support C/C++ usage of MKL, except for the C-style FFTs (Fast Fourier Transforms). You can use the library under these conditions:
First, you must obey mixed language rules. Namely, all routing and function names must be upper case and FORTRAN expects all variables to be passed by reference.
There are a few functions in the BLAS that return values to the calling program. In the cases of complex data, special care will be required
to get that data. These are level 1 BLAS functions: [c|z]dotc and [c|z]dotu.
V 2.0 has FORTRAN only versions of FFTs routines. V 2.1 contains a set of C interface FFTs, with the same functionality as the FORTRAN versions.
There are multiple versions of the Intel Math Kernel Library for various compilers. MKL_I.LIB is for the Intel C/C++ Compiler plug-in and uses the
cdecl interface. This is consistent with Microsoft Visual* C and the Intel C/C++ Compiler plug-in.
There is a second caution that arises due to problems with many compilers:
The level 3 BLAS use local storage which ends up on the stack. Compilers other than the Intel compiler do not align the stack on 8-byte boundaries.
The lack of alignment substantially reduces the performance by about 80%. There are plans to have an additional version called MKL_C.LIB in Release 2.1
which can be used with Microsoft Visual* C++ and which aligns the stack. |
|
|
Will the Math Kernel Library support Linux*/Solaris* systems?
Intel is discussing the issues concerned with supporting Linux* and/or
Solaris*. This doesn't mean that Intel will be providing or enabling a third
party to provide a version of MKL for any version of Unix*. |
|
|
How can I use more than one processor when I use MKLib?
All you need to do is to build your program, linking in MKLib. If your program uses the level 3 BLAS, they can run on more than one processor. You
can set the environmental variable MKL_NPROCS by one of two means. If you always wish to use the same number of processors, you can go into the Control
Panel and click on System. In System Properties, click on Environment. You can set a new variable call MKL_NPROCS and set the number of processors you
wish to use in the Value.
As an alternatively, in a Command Prompt enter:
"set MKL_NPROCS=".
For example, if you have a dual processor system running Windows NT* 3.51 or later, in a MS-DOS* Command Prompt window, enter "set MKL NPROCS=2", and the Level 3 BLAS will use both processors.
To see what the settings are, enter "set ". In the information that comes to the screen will be the value for MKL_NPROCS.
As long as you run in that window, the environmental variable will be set |
|
|
I would like to combine the MKLib with LAPACK. For this purpose, I need a recommendation for the optimal blocksize to set for matrix-matrix
operations.
On the one hand, dgemm() in MKLib works best on the largest block size.
The larger the block size, however, the more work must be done outside
of MKLib and there is a negative impact on performance. As far as MKLib is
concerned there is no block size - cache size - processor combination
dependency. Therefore, iyt is recommended that you experiment with the block size, and when you
get optimal performance, stick with that block size. |
|
|
Can I use the Siganl Processing Library and Recognition Primitives Library together?
Yes. There used to be some problem with the previous version of these libraries. |
|
|
Your HMM functions do not have restitution algorithms such as Boum-Welsh re-estimation. Do you intend to implant them one day?
Yes. The RPLib version 4.0 will support the training for the HMM model. Several reestimation algorithms will be implemented. If you have request for
a particular algorithm, we would like to hear from you since our library development is customer-driven. Please send us your suggestions. |
|
|